package org.edu.modules.stu.base.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.ibatis.reflection.MetaObject;
import org.edu.common.base.BaseEntity;
import java.math.BigDecimal;
import org.hibernate.validator.constraints.Length;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.stereotype.Component;

import java.io.Serializable;

/**
 * entity-学生基本信息表
 */
@TableName("ve_base_student_info")
@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="学生基本信息表对象", description="ve_base_student_info")
public class VeBaseStudentInfo implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId("stuId")
    @ApiModelProperty(value = "学生号")
    @Excel(name = "学生号", width = 15)
        private Integer stuId;

    @TableField
    @ApiModelProperty(value = "曾用名")
    @Length(max = 20)
    @Excel(name = "曾用名", width = 15)

    private String cym;

    @TableField
    @ApiModelProperty(value = "出生日期")
    @Excel(name = "出生日期", width = 15)
    private Integer csrq;

    @TableField
    @ApiModelProperty(value = "籍贯")
    @Length(max = 255)
    @Excel(name = "籍贯", width = 15)

    private String jg;

    @TableField
    @ApiModelProperty(value = "健康状况码")
    @Length(max = 11)
    @Excel(name = "健康状况码", width = 15)
    private String jkzkm;

    @TableField
    @ApiModelProperty(value = "政治面貌码")
    @Length(max = 11)
    @Excel(name = "政治面貌码", width = 15)
    private String zzmmm;

    @TableField
    @ApiModelProperty(value = "户口类别码")
    @Length(max = 11)
    @Excel(name = "户口类别码", width = 15)

    private String hklbm;

    @TableField
    @ApiModelProperty(value = "是否是流动")
    @Length(max = 11)
    @Excel(name = "是否是流动", width = 15)

    private String sfsldrk;

    @TableField
    @ApiModelProperty(value = "家庭地址")
    @Length(max = 255)
    @Excel(name = "家庭地址", width = 15)

    private String jtdz;

    @TableField
    @ApiModelProperty(value = "家庭联系电话")
    @Length(max = 30)
    @Excel(name = "家庭联系电话", width = 15)
    private String jtlxdh;

    @TableField
    @ApiModelProperty(value = "特长")
    @Length(max = 65535)
    @Excel(name = "特长", width = 15)

    private String tc;

    @TableField
    @ApiModelProperty(value = "联系电话")
    @Length(max = 15)
    @Excel(name = "联系电话", width = 15)
    private String lxdh;
    @TableField
    @ApiModelProperty(value = "学生联系电话")
    @Length(max = 20)
    @Excel(name = "学生联系电话", width = 15)
    private String xslxdh;

    @TableField
    @ApiModelProperty(value = "电子信箱")
    @Length(max = 50)
    @Excel(name = "电子信箱", width = 15)

    private String dzxx;

    @TableField
    @ApiModelProperty(value = "照片")
    @Length(max = 255)
    @Excel(name = "照片", width = 15)

    private String zp;

    @TableField
    @ApiModelProperty(value = "即时通讯号")
    @Length(max = 50)
    @Excel(name = "即时通讯号", width = 15)

    private String jstxh;

    @TableField
    @ApiModelProperty(value = "是否低保0否1是")
    @Excel(name = "是否低保0否1是", width = 15)

    private Integer sfdb;


    @TableField("terminalId")
    @ApiModelProperty(value = "终端系统ID")
    @Excel(name = "终端系统ID")
        private Integer terminalId;

    @TableField
    @ApiModelProperty(value = "毕业学校")
    @Length(max = 255)
    @Excel(name = "毕业学校")
        private String byxx;

    @TableField
    @ApiModelProperty(value = "报名方式")
    @Length(max = 11)
    @Excel(name = "报名方式")
        private String bmfsm;

    @TableField
    @ApiModelProperty(value = "入学成绩")
    @Excel(name = "入学成绩")
        private BigDecimal rxcj;

    @TableField
    @ApiModelProperty(value = "家庭地址是否公开 1公开2不公开")
    @Excel(name = "家庭地址是否公开 1公开2不公开")
        private Integer jtdzstatus;

    @TableField
    @ApiModelProperty(value = "联系电话是否公开 1公开2不公开")
    @Excel(name = "联系电话是否公开 1公开2不公开")
        private Integer xslxdhstatus;

    @TableField(value = "updateTime",fill = FieldFill.UPDATE, updateStrategy = FieldStrategy.IGNORED)
    @ApiModelProperty(value = "更新时间")
        private Integer updateTime;

    //系统字段补充，20250206 lbh sta====================================================
    /** 银行卡号 */
    @Excel(name = "银行卡号", width = 15)
    @ApiModelProperty(value = "银行卡号")
    @TableField(value = "YHKH")
    private String yhkh;
    /**籍贯所在省id*/
    @Excel(name = "籍贯所在省id", width = 15.0D)
    @ApiModelProperty("籍贯所在省id")
    @TableField(value = "JGSZ_PROVINCE_ID")
    private Integer jgszProvinceId;
    /**籍贯所在省*/
    @Excel(name = "籍贯所在省", width = 15.0D)
    @ApiModelProperty("籍贯所在省")
    @TableField(value = "JGSZ_PROVINCE")
    private String jgszProvince;
    /**籍贯所在市id*/
    @Excel(name = "籍贯所在市id", width = 15.0D)
    @ApiModelProperty("籍贯所在市id")
    @TableField(value = "JGSZ_CITY_ID")
    private Integer jgszCityId;
    /**籍贯所在市*/
    @Excel(name = "籍贯所在市", width = 15.0D)
    @ApiModelProperty("籍贯所在市")
    @TableField(value = "JGSZ_CITY")
    private String jgszCity;
    /**籍贯所在区县id*/
    @Excel(name = "籍贯所在区县id", width = 15.0D)
    @ApiModelProperty("籍贯所在区县id")
    @TableField(value = "JGSZ_COUNTY_ID")
    private Integer jgszCountyId;
    /**籍贯所在区县*/
    @Excel(name = "籍贯所在区县", width = 15.0D)
    @ApiModelProperty("籍贯所在区县")
    @TableField(value = "JGSZ_COUNTY")
    private String jgszCounty;
    /**出生地*/
    @Excel(name = "出生地", width = 15.0D)
    @ApiModelProperty("出生地")
    private String csd;
    /**出生地所在省id*/
    @Excel(name = "出生地所在省id", width = 15.0D)
    @ApiModelProperty("出生地所在省id")
    @TableField(value = "CSDSZ_PROVINCE_ID")
    private Integer csdszProvinceId;
    /**出生地所在省*/
    @Excel(name = "出生地所在省", width = 15.0D)
    @ApiModelProperty("出生地所在省")
    @TableField(value = "CSDSZ_PROVINCE")
    private String csdszProvince;
    /**出生地所在市id*/
    @Excel(name = "出生地所在市id", width = 15.0D)
    @ApiModelProperty("出生地所在市id")
    @TableField(value = "CSDSZ_CITY_ID")
    private Integer csdszCityId;
    /**出生地所在市*/
    @Excel(name = "出生地所在市", width = 15.0D)
    @ApiModelProperty("出生地所在市")
    @TableField(value = "CSDSZ_CITY")
    private String csdszCity;
    /**出生地所在区县id*/
    @Excel(name = "出生地所在区县id", width = 15.0D)
    @ApiModelProperty("出生地所在区县id")
    @TableField(value = "CSDSZ_COUNTY_ID")
    private Integer csdszCountyId;
    /**出生地所在区县*/
    @Excel(name = "出生地所在区县", width = 15.0D)
    @ApiModelProperty("出生地所在区县")
    @TableField(value = "CSDSZ_COUNTY")
    private String csdszCounty;
    /**招生对象*/
    @Excel(name = "招生对象", width = 15.0D)
    @ApiModelProperty("招生对象")
    private String zsdx;
    /**招生方式*/
    @Excel(name = "招生方式", width = 15.0D)
    @ApiModelProperty("招生方式")
    private String zsfs;
    /**学生来源*/
    @Excel(name = "学生来源", width = 15.0D)
    @ApiModelProperty("学生来源")
    private String xsly;
    /**
     * 录取专业
     */
    @TableField("lqzy_id")
    @ApiModelProperty(value = "录取专业ID")
    private Integer lqzyId;

    @TableField("lqzy_text")
    @ApiModelProperty(value = "录取专业")
    @Length(max = 255)
    private String lqzyText;

    /**是否随迁子女*/
    @Excel(name = "是否随迁子女", width = 15.0D)
    @ApiModelProperty("是否随迁子女")
    private String sfsqzn;
    /**联系人*/
    @Excel(name = "联系人", width = 15.0D)
    @ApiModelProperty("联系人")
    private String lxr;
    /**家庭邮政编码*/
    @Excel(name = "家庭邮政编码", width = 15.0D)
    @ApiModelProperty("家庭邮政编码")
    private String jtyzbm;
    /**乘火车区间*/
    @Excel(name = "乘火车区间", width = 15.0D)
    @ApiModelProperty("乘火车区间")
    private String chcqj;
    /**是否建档立卡*/
    @Excel(name = "是否建档立卡", width = 15.0D)
    @ApiModelProperty("是否建档立卡")
    private String sfjdlk;

    /**国籍/地区*/
    @Excel(name = "国籍/地区", width = 15.0D)
    @ApiModelProperty("国籍/地区")
    private String gj;
    /**是否享受国家助学金*/
    @Excel(name = "是否享受国家助学金", width = 15.0D)
    @ApiModelProperty("是否享受国家助学金")
    private String sfssgjzxj;
    /**助学金月发放标准*/
    @Excel(name = "助学金月发放标准", width = 15.0D)
    @ApiModelProperty("助学金月发放标准")
    private BigDecimal zxjffbz;
    /**宗教信仰*/
    @Excel(name = "宗教信仰", width = 15.0D)
    @ApiModelProperty("宗教信仰")
    private String zjxy;
    /**备注*/
    @Excel(name = "备注", width = 15.0D)
    @ApiModelProperty("备注")
    private String remark;
    /**血型*/
    @Excel(name = "血型", width = 15.0D)
    @ApiModelProperty("血型")
    private String xx;
//系统字段补充，20250206 lbh end====================================================

}
